class Solution {
public:
    typedef struct ListNode* Node;
    void reorderList(ListNode* head) {
        vector<ListNode*> vec;
        Node q=head;
        while(q)
        {
            vec.push_back(q);
            q=q->next;
        }
        int i=0,j=vec.size()-1;
        while(i<j)
        {
            vec[i]->next=vec[j];
            i++;
            if(i==j) break;
            vec[j]->next=vec[i];
            j--;
        }
        vec[i]->next=nullptr;
    }
};
